home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PPC1B3AA.ZIP / WHATSNEW.TXT < prev    next >
Text File  |  1996-09-24  |  12KB  |  318 lines

  1.  
  2.    You say : "Hey! What's new in this version ?"
  3.  
  4.    I say ...
  5.  
  6. -----------------------------------------------------------------------------
  7.  
  8.    24/08/96 * PPC 1.00 Public Beta 3
  9.  
  10.       Changed/News:
  11.  
  12.         ■ Now use PPC.INI to retreive default config (for example library
  13.           path, or user variable generation on/off by default)
  14.  
  15.         ■ Big changes in the command line because of the INI file!
  16.           Now makes a difference between switches & options. Switches are
  17.           used with a leading "+" or "-" to turn on or off the corresponding
  18.           feature. Options are always following a "-".
  19.           Type PPC alone for more.
  20.  
  21.         ■ Changed a bit the error message (differencing declarations and
  22.           expressions)
  23.  
  24.         ■ Added a more accurate error message when trying to redeclare
  25.           a user function/procedure with an internal user/function name
  26.  
  27.         ■ Added handling of subrange expressions in Case :
  28.  
  29.            Select Case A
  30.                Case 5..10 ; Instead of Case 5, 6, 7, 8, 9, 10
  31.            End Select
  32.  
  33.         ■ Changed handling of Elseif structure to make it more compatible
  34.           with PPLC :
  35.  
  36.                 This structure (PPLC specific until this version) is now
  37.                 correctly parsed.
  38.  
  39.                 If (expr) Then
  40.                   ...
  41.                 Elseif (expr) (then?)        <- THEN is optionnal
  42.                   ...
  43.                 Endif
  44.  
  45.                 Simple Endifs are simply treated with an Else following
  46.                 a new simple If statement :
  47.  
  48.                 If (expr) Then
  49.                 Else If (expr) do stuff      <-  this statement is NOT
  50.                 Endif                            a 'else' then 'if (exp) ...'
  51.                                                  but a true 'else if' (exp) ...
  52.  
  53.         ■ Changed internal handling of labels & gotos, now can be anything
  54.           including reserved words.
  55.  
  56.         ■ Added Frontier-specific hearder if using Frontier-specific
  57.           statements/functions.
  58.  
  59.         ■ Added the following Frontier-specific statements :
  60.  
  61.              - Abort 
  62.              - GetMsg
  63.              - Leave
  64.              - DPrint
  65.              - DPrintLn
  66.              - DCls
  67.              - DAnsiPos
  68.              - DRestScrn
  69.              - DSaveScrn
  70.              - DGetX()
  71.              - DGetY()
  72.              - DScrText()
  73.  
  74.              They are, or course, NOT handled by PCBoard, and using them
  75.              will create a Frontier-specific PPE.
  76.  
  77.         ■ Added handling of "=>" , "=<" and "=!" which are alias for
  78.           "<=", ">=" and "!=".
  79.  
  80.         ■ Added display of filename in error message (this is needed since
  81.           you can #include files).
  82.  
  83.         ■ Library format changed a bit, recompile your libraries!
  84.  
  85.         ■ New version of PPLIB, the Lib Viewer, it now handles 1.02 Libs,
  86.           as well as 1.01.
  87.  
  88.         ■ Added command line switch +o to select the alternate console output
  89.           style (PPLC-like). This allows PPC to work with PowerPPL (althought
  90.           you should get the last PowerPPL which also has a minor change to
  91.           better handle PPC)
  92.  
  93.       Fixed:
  94.  
  95.         ■ Fixed an ENORMOUS bug : strings were optimized case insensitively!
  96.           "Hello" were equal to "hello" ! fixed.
  97.  
  98.         ■ Fixed parsing of :
  99.  
  100.             If (expr) Then Select Case
  101.             (thnx Hicks!)
  102.  
  103.         ■ Fixed parsing of :
  104.  
  105.           If (expr) Then statement
  106.                          statement
  107.           Else statement
  108.                statement
  109.           Endif
  110.  
  111.           While (expr) Do statement
  112.           EndWhile
  113.  
  114.         ■ Fixed parsing of the '*' char in certain circumptances (appeared
  115.           only since beta2)
  116.  
  117.         ■ After returning from an included file to the parent source file,
  118.           compiler was missing a line, fixed.
  119.  
  120.         ■ Error after 5 to 10 (depending on memory available) included files,
  121.           fixed.
  122.  
  123. -----------------------------------------------------------------------------
  124.  
  125.    08/08/96 * PPC 1.00 Public Beta 2
  126.  
  127.       Added:
  128.  
  129.         ■ ':' may now be used to separate logical lines on a physical
  130.           line
  131.         ■ '$INCLUDE:FILE.PPS & #include file.pps may now be used to include
  132.           an external source file.
  133.         ■ '*' as the first character of a line specifies a comment
  134.  
  135.         ■ Note: thanks to CyZ/Peanuts for mentionning the above missing
  136.           syntax support
  137.  
  138.         ■ Added support of brackets '[' & ']' to retreive a specific
  139.           character from a string value! see doc.
  140.  
  141.       Fixed:
  142.  
  143.         ■ Error with encoding some small PPE. Fixed. (no compression if no
  144.           gain) 
  145.           -> This happened to 1/5 lines long source codes... :) 
  146.         ■ Added DDATE data type that was missing
  147.           -> woops!, one ',' missing! :)
  148.         ■ Added user variables dependant functions check (getaltuser, ...)
  149.           -> I Discovered how easy it was to crash PCB with a PPE compiled with
  150.           PPLC...
  151.         ■ Fixed compiling of statement VarAddr
  152.         ■ Fixed compiling of statement Bitset & Bitclear
  153.         ■ Autodetection of crypting method disabled the -feN switch, fixed.
  154.         ■ Fixed bug in autodetection of crypting method. 3.20 had the
  155.           crypting method of 3.30 if autodetection on
  156.         ■ Fixed check of dimentions number. It was possible to assign an
  157.           array without specifying subscripts.
  158.  
  159. -----------------------------------------------------------------------------
  160.  
  161.    30/07/96 * PPC 1.00 Public Beta 1 
  162.  
  163.       Note:
  164.  
  165.         ■ This is the FIRST PUBLIC BETA ! Enjoy !
  166.  
  167.       Fixed:
  168.  
  169.         ■ ppc was limited to the use of only one #use library, fixed.
  170.  
  171. -----------------------------------------------------------------------------
  172.    Everything bellow this line are private betas
  173. -----------------------------------------------------------------------------
  174.  
  175.    30/07/96 * PPC 1.00 final ßeta 2 
  176.  
  177.       Changes:
  178.  
  179.         ■ Added various specific messages for various errors instead of
  180.           "Syntax error"
  181.         ■ Added a check for memory allocation and emergency exit if not
  182.           enough memory left
  183.         ■ Added End For and EndFor as alias for Next
  184.  
  185.       Fixed:
  186.  
  187.         ■ Fixed error message when using loop control keyword outside a loop
  188.         ■ Fixed ambiguity in the grammar between internal functions and
  189.           keyword "function".
  190.         ■ Fixed use of "SEC" constant, replaced by "SECUR" !
  191.  
  192. -----------------------------------------------------------------------------
  193.  
  194.    28/07/96 * PPC 1.00 final ßeta
  195.  
  196.       Note:
  197.  
  198.         ■ This is the 1st version of the final beta
  199.           (going soon to public beta)
  200.  
  201.       Changes:
  202.  
  203.         ■ Better handling of .SYM debug files (now fully show original source)
  204.         ■ Added DEB.EXE, an interface to debug a PPE with PPLdebug from command
  205.           line (see DEB.DOC)
  206.  
  207. -----------------------------------------------------------------------------
  208.  
  209.    25/07/96 * PPC 1.00 ß6
  210.  
  211.      Fixed:
  212.  
  213.         ■ Fixed a bug that appears in ß5 and cause crash if using litteral
  214.           strings >128 chars
  215.  
  216. -----------------------------------------------------------------------------
  217.  
  218.    22/07/96 * PPC 1.00 ß5
  219.  
  220.      Fixed:
  221.  
  222.         ■ Fixed problem that made possible to assign a value to a constant
  223.         ■ Fixed problem with empty strings when crypting PPE
  224.         ■ Fixed use of Break & Continue inside an Elseif structure
  225.         ■ Fixed parsing of For/Next when no space between parameter 1 & '='
  226.         ■ Fixed handling of comments whith char "'"
  227.         ■ Fixed problem with (really) big sources and functions/procedures
  228.           (because of that, LIB format has changed, see bellow)
  229.  
  230.      Changes:
  231.  
  232.         ■ Added verification of VAR keyword usage (limited to 16 first args)
  233.         ■ Added verification of argument when using statements that change
  234.           argument value (must not be a constant). This include internal
  235.           statements as well as user defined procedures using VAR keyword.
  236.         ■ LIB format has changed, please recompile your libraries using
  237.           ppc -lib or #lib directive
  238.         ■ Added a Library Viewer (PPLIB.EXE). See PPLIB.DOC
  239.         ■ Added variable names & usage of VAR when error in proc/func arguments
  240.         ■ Added function return type when error in proc/func arguments
  241.         ■ Added specific messages when error parsing parenthesis
  242.         ■ Added Peekb as alias for Peek
  243.         ■ Added PutAltUser as alias for PutUser
  244.         ■ Added Erase as alias for Delete
  245.         ■ Added Pokeb as alias for Poke
  246.         ■ Added Go To as alias for Goto
  247.         ■ Added Go Sub as alias for Gosub
  248.         ■ Added End Proc as alias for Endproc
  249.         ■ Added End Func as alias for Endfunc
  250.         ■ Added Then as alias for Do and Do as alias for Then
  251.  
  252. -----------------------------------------------------------------------------
  253.  
  254.    21/07/96 * PPC 1.00 ß4
  255.  
  256.      Changes:
  257.  
  258.         ■ Now honnor PPE encoding convetion. Encoding type is autodetected
  259.           depending on statements used and structure of the program.
  260.         ■ Added -f option to force flat PPE 2.00 (no encoding)
  261.         ■ Added -feN option to force encoding ppe using a specific method.
  262.           N=0 for v2.00, N=1 for v3.20, N=2 for 3.30.
  263.  
  264. -----------------------------------------------------------------------------
  265.  
  266.  
  267.    19/07/96 * PPC 1.00 ß3
  268.  
  269.      Fixed:
  270.  
  271.         ■ Fixed problem compiling libraries when no main code was specified
  272.         ■ Fixed support for hexadecimal values (must now begin with a number)
  273.         ■ Fixed parsing of statement 'Redim'
  274.         ■ Now check number of arguments in user functions & procedures
  275.           and reports error with correct usage (include var types!)
  276.         ■ Added missing constants (Accounting, Qwk, ScanMsgHdr)
  277.         ■ Fixed handling of single word compiler directives with trailing
  278.           spaces/tabs
  279.         ■ Fixed undefined label error when compiling empty source
  280.         ■ Fixed memory problems with some big source files
  281.  
  282.      Changes:
  283.  
  284.         ■ More accurate message when using wrong number of arguments
  285.           in internal functions & procedures (not anymore 'syntax error')
  286.         ■ Implicit option now autodetects type of variables depending on
  287.           their suffix, as in the BASIC language
  288.         ■ Added support for binary & octal values (suffix 'b' & 'o')
  289.         ■ Added possible suffix 'd' for decimal values
  290.         ■ Added specific error message for unterminated strings (missing '"')
  291.  
  292.      Known bugs:
  293.  
  294.         ■ Constants may be treated as variables, this allows you to redefine
  295.           a numeric/string value as another one ... :) kinda fun to do 5 = 1,
  296.           then Print 5 :) Will be fixed soon.
  297.  
  298. -----------------------------------------------------------------------------
  299.  
  300.    17/07/96 * PPC 1.00 ß2
  301.  
  302.         IMPORTANT !!
  303.  
  304.         ■ #lib is replaced by #use or #uses !
  305.         ■ #lib is now equivalent to compiler option -lib (generate library)
  306.         ■ #ppe force creating ppe even if -lib was specified or #lib was set
  307.           before
  308.  
  309.         ■ Added a PPE launcher (RUN.EXE). See RUN.DOC
  310.  
  311. -----------------------------------------------------------------------------
  312.  
  313.    15/07/96 * PPC 1.00 ß1
  314.  
  315.         ■ first beta, enjoy!
  316.  
  317. -----------------------------------------------------------------------------
  318.